package com.koron.order.LineHomepage.bean.VO;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName w_line_operation_report
 */
@Data
public class LineOperationReport implements Serializable {
    /**
     * 线路运行分析报告主键id
     */
    private String id;

    /**
     * 线路名称
     */
    private String equipmentName;

    /**
     * 跳闸次数
     */
    private Integer tripTime;

    /**
     * 线路停电总次数
     */
    private Integer linePower;

    /**
     * 线路计划停电次数
     */
    private Integer linePowerCut;

    /**
     * 线路非计划停电次数
     */
    private Integer linePowerNoncut;

    /**
     * 缺陷新发现量总缺陷数
     */
    private Integer defectTotal;

    /**
     * 缺陷新发现量提停电处理
     */
    private Integer defectPowerCut;

    /**
     * 缺陷新发现量提停电处理
     */
    private Integer defectPowerNoncut;

    /**
     * 上月缺陷总数
     */
    private Integer defectLast;

    /**
     * 上月停电处理
     */
    private Integer defectPowerCutLast;

    /**
     * 上月不停电处理
     */
    private Integer defectPowerNoncutLast;

    /**
     * 消缺总数
     */
    private Integer resolveDefect;

    /**
     * 消缺停电处理
     */
    private Integer resolveDefectCut;

    /**
     * 消缺不停电处理
     */
    private Integer resolveDefectNoncut;

    /**
     * 本月缺陷总数
     */
    private Integer defectThis;

    /**
     * 本月缺陷停电处理数
     */
    private Integer defectPowerCutThis;

    /**
     * 本月缺陷不停电处理数
     */
    private Integer defectPowerNoncutThis;

    /**
     * 线路运行评价
     */
    private String evaluate;

    /**
     * 记录时间
     */
    private Date recordingTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建账号

     */
    private String createBy;

    /**
     * 创建人姓名
     */
    private String createByName;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新账号
     */
    private String updateBy;

    /**
     * 更新人姓名
     */
    private String updateByName;

    /**
     * 部门名
     */
    private String deptName;

    /**
     * 部门id
     */
    private String deptId;

    /**
     * 删除标识
     */
    private Integer deleteFlag;

    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        LineOperationReport other = (LineOperationReport) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getEquipmentName() == null ? other.getEquipmentName() == null : this.getEquipmentName().equals(other.getEquipmentName()))
            && (this.getTripTime() == null ? other.getTripTime() == null : this.getTripTime().equals(other.getTripTime()))
            && (this.getLinePower() == null ? other.getLinePower() == null : this.getLinePower().equals(other.getLinePower()))
            && (this.getLinePowerCut() == null ? other.getLinePowerCut() == null : this.getLinePowerCut().equals(other.getLinePowerCut()))
            && (this.getLinePowerNoncut() == null ? other.getLinePowerNoncut() == null : this.getLinePowerNoncut().equals(other.getLinePowerNoncut()))
            && (this.getDefectTotal() == null ? other.getDefectTotal() == null : this.getDefectTotal().equals(other.getDefectTotal()))
            && (this.getDefectPowerCut() == null ? other.getDefectPowerCut() == null : this.getDefectPowerCut().equals(other.getDefectPowerCut()))
            && (this.getDefectPowerNoncut() == null ? other.getDefectPowerNoncut() == null : this.getDefectPowerNoncut().equals(other.getDefectPowerNoncut()))
            && (this.getDefectLast() == null ? other.getDefectLast() == null : this.getDefectLast().equals(other.getDefectLast()))
            && (this.getDefectPowerCutLast() == null ? other.getDefectPowerCutLast() == null : this.getDefectPowerCutLast().equals(other.getDefectPowerCutLast()))
            && (this.getDefectPowerNoncutLast() == null ? other.getDefectPowerNoncutLast() == null : this.getDefectPowerNoncutLast().equals(other.getDefectPowerNoncutLast()))
            && (this.getResolveDefect() == null ? other.getResolveDefect() == null : this.getResolveDefect().equals(other.getResolveDefect()))
            && (this.getResolveDefectCut() == null ? other.getResolveDefectCut() == null : this.getResolveDefectCut().equals(other.getResolveDefectCut()))
            && (this.getResolveDefectNoncut() == null ? other.getResolveDefectNoncut() == null : this.getResolveDefectNoncut().equals(other.getResolveDefectNoncut()))
            && (this.getDefectThis() == null ? other.getDefectThis() == null : this.getDefectThis().equals(other.getDefectThis()))
            && (this.getDefectPowerCutThis() == null ? other.getDefectPowerCutThis() == null : this.getDefectPowerCutThis().equals(other.getDefectPowerCutThis()))
            && (this.getDefectPowerNoncutThis() == null ? other.getDefectPowerNoncutThis() == null : this.getDefectPowerNoncutThis().equals(other.getDefectPowerNoncutThis()))
            && (this.getEvaluate() == null ? other.getEvaluate() == null : this.getEvaluate().equals(other.getEvaluate()))
            && (this.getRecordingTime() == null ? other.getRecordingTime() == null : this.getRecordingTime().equals(other.getRecordingTime()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
            && (this.getCreateByName() == null ? other.getCreateByName() == null : this.getCreateByName().equals(other.getCreateByName()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getUpdateByName() == null ? other.getUpdateByName() == null : this.getUpdateByName().equals(other.getUpdateByName()))
            && (this.getDeptName() == null ? other.getDeptName() == null : this.getDeptName().equals(other.getDeptName()))
            && (this.getDeptId() == null ? other.getDeptId() == null : this.getDeptId().equals(other.getDeptId()))
            && (this.getDeleteFlag() == null ? other.getDeleteFlag() == null : this.getDeleteFlag().equals(other.getDeleteFlag()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getEquipmentName() == null) ? 0 : getEquipmentName().hashCode());
        result = prime * result + ((getTripTime() == null) ? 0 : getTripTime().hashCode());
        result = prime * result + ((getLinePower() == null) ? 0 : getLinePower().hashCode());
        result = prime * result + ((getLinePowerCut() == null) ? 0 : getLinePowerCut().hashCode());
        result = prime * result + ((getLinePowerNoncut() == null) ? 0 : getLinePowerNoncut().hashCode());
        result = prime * result + ((getDefectTotal() == null) ? 0 : getDefectTotal().hashCode());
        result = prime * result + ((getDefectPowerCut() == null) ? 0 : getDefectPowerCut().hashCode());
        result = prime * result + ((getDefectPowerNoncut() == null) ? 0 : getDefectPowerNoncut().hashCode());
        result = prime * result + ((getDefectLast() == null) ? 0 : getDefectLast().hashCode());
        result = prime * result + ((getDefectPowerCutLast() == null) ? 0 : getDefectPowerCutLast().hashCode());
        result = prime * result + ((getDefectPowerNoncutLast() == null) ? 0 : getDefectPowerNoncutLast().hashCode());
        result = prime * result + ((getResolveDefect() == null) ? 0 : getResolveDefect().hashCode());
        result = prime * result + ((getResolveDefectCut() == null) ? 0 : getResolveDefectCut().hashCode());
        result = prime * result + ((getResolveDefectNoncut() == null) ? 0 : getResolveDefectNoncut().hashCode());
        result = prime * result + ((getDefectThis() == null) ? 0 : getDefectThis().hashCode());
        result = prime * result + ((getDefectPowerCutThis() == null) ? 0 : getDefectPowerCutThis().hashCode());
        result = prime * result + ((getDefectPowerNoncutThis() == null) ? 0 : getDefectPowerNoncutThis().hashCode());
        result = prime * result + ((getEvaluate() == null) ? 0 : getEvaluate().hashCode());
        result = prime * result + ((getRecordingTime() == null) ? 0 : getRecordingTime().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getCreateByName() == null) ? 0 : getCreateByName().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getUpdateByName() == null) ? 0 : getUpdateByName().hashCode());
        result = prime * result + ((getDeptName() == null) ? 0 : getDeptName().hashCode());
        result = prime * result + ((getDeptId() == null) ? 0 : getDeptId().hashCode());
        result = prime * result + ((getDeleteFlag() == null) ? 0 : getDeleteFlag().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", equipmentName=").append(equipmentName);
        sb.append(", tripTime=").append(tripTime);
        sb.append(", linePower=").append(linePower);
        sb.append(", linePowerCut=").append(linePowerCut);
        sb.append(", linePowerNoncut=").append(linePowerNoncut);
        sb.append(", defectTotal=").append(defectTotal);
        sb.append(", defectPowerCut=").append(defectPowerCut);
        sb.append(", defectPowerNoncut=").append(defectPowerNoncut);
        sb.append(", defectLast=").append(defectLast);
        sb.append(", defectPowerCutLast=").append(defectPowerCutLast);
        sb.append(", defectPowerNoncutLast=").append(defectPowerNoncutLast);
        sb.append(", resolveDefect=").append(resolveDefect);
        sb.append(", resolveDefectCut=").append(resolveDefectCut);
        sb.append(", resolveDefectNoncut=").append(resolveDefectNoncut);
        sb.append(", defectThis=").append(defectThis);
        sb.append(", defectPowerCutThis=").append(defectPowerCutThis);
        sb.append(", defectPowerNoncutThis=").append(defectPowerNoncutThis);
        sb.append(", evaluate=").append(evaluate);
        sb.append(", recordingTime=").append(recordingTime);
        sb.append(", remark=").append(remark);
        sb.append(", createTime=").append(createTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", createByName=").append(createByName);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateByName=").append(updateByName);
        sb.append(", deptName=").append(deptName);
        sb.append(", deptId=").append(deptId);
        sb.append(", deleteFlag=").append(deleteFlag);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}